home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Prog / M / MacOberon241.cpt / MacOberon 2.4(1) / MacQuickDraw.Mod (.txt) < prev    next >
Oberon Text  |  1991-10-17  |  6KB  |  148 lines

  1. Syntax10.Scn.Fnt
  2. MODULE MacQuickDraw;    (*Macintosh OS Interface Module for MacOberon 2.2, Michael Franz, 9.10.91*)
  3.     IMPORT
  4.         TY:= MacTypes, SYSTEM;
  5.     CONST
  6.         (* Transfer Modes *)
  7.             srcCopy*= 0; srcOr*= 1; srcXor*= 2; srcBic*= 3;
  8.             notSrcCopy*= 4; notSrcOr*= 5; notSrcXor*= 6; notSrcBic*= 7;
  9.             patCopy*= 8; patOr*= 9; patXor*= 10; patBic*= 11;
  10.             notPatCopy*= 12; notPatOr*= 13; notPatXor*= 14; notPatBic*= 15;
  11.         (* Colors *)
  12.             blackColor*= 33; whiteColor*= 30;
  13.         (* Styles *)
  14.             plain*= 0; bold*= 1; italic*= 2; underline*= 4;
  15.             outline*= 8; shadow*= 16; condense= 32; extend*= 64;
  16.     TYPE
  17.         Pattern*=ARRAY 8 OF TY.PackedByte;
  18.         PatPtr*= POINTER- TO Pattern;
  19.         PatHandle*= POINTER- TO RECORD p*: PatPtr END;
  20.         BitMap*= RECORD
  21.             baseAddr*: TY.Ptr;
  22.             rowBytes*: INTEGER;
  23.             bounds*: TY.Rect
  24.         END;
  25.         Cursor*= RECORD
  26.             data*, mask*: ARRAY 16 OF INTEGER;
  27.             hotSpot*: TY.Point
  28.         END;
  29.         CursPtr*= POINTER- TO Cursor;
  30.         CursHandle*= POINTER- TO RECORD p*: CursPtr END;
  31.         PenState*= RECORD
  32.             pnLoc*, pnSize*: TY.Point;
  33.             pnMode*: INTEGER;
  34.             pnPat*: Pattern
  35.         END;
  36.         Region*= RECORD (TY.Data)
  37.             rgnSize*: INTEGER;
  38.             rgnBBox*: TY.Rect;
  39.         END;
  40.         RgnPtr*= POINTER- TO Region;
  41.         RgnHandle*= POINTER- TO RECORD p*: RgnPtr END;
  42.         Picture*= RECORD
  43.             picSize*: INTEGER;
  44.             picFrame*: TY.Rect
  45.         END;
  46.         PicPtr*= POINTER- TO Picture;
  47.         PicHandle*= POINTER- TO RECORD p*: PicPtr END;
  48.         Polygon*= RECORD
  49.             polySize*: INTEGER;
  50.             polyBBox*: TY.Rect;
  51.             polyPoints*: TY.Point
  52.         END;
  53.         PolyPtr*= POINTER- TO Polygon;
  54.         PolyHandle*= POINTER- TO RECORD p*: PolyPtr END;
  55.         QDProcs= RECORD
  56.             textProc, lineProc, rectProc, rRectProc, ovalProc, arcProc, polyProc,
  57.             rgnProc, bitsProc, commentProc, txMeasProc, getPicProc, putPicProc: TY.ProcPtr
  58.         END;
  59.         QDProcsPtr= POINTER- TO QDProcs;
  60.         GrafPort*= RECORD
  61.             device: INTEGER;
  62.             portBits*: BitMap;
  63.             portRect*: TY.Rect;
  64.             visRgn*, clipRgn*: RgnHandle;
  65.             bkPat*, fillPat*: Pattern;
  66.             pnLoc*, pnSize*: TY.Point;
  67.             pnMode*: INTEGER;
  68.             pnPat*: Pattern;
  69.             pnVis*: INTEGER;
  70.             txFont*, txFace*, txMode*, txSize*: INTEGER;    (* txFace: SET OF StyleItem *)
  71.             spExtra*: TY.Fixed;
  72.             fgColor*, bkColor*: LONGINT;
  73.             colrBit*, patStretch: INTEGER;
  74.             picSave, rgnSave, polySave: TY.Handle;
  75.             grafProcs: QDProcsPtr
  76.         END;
  77.         GrafPtr*= POINTER- TO GrafPort;
  78.         FontInfo* = RECORD
  79.             ascent*, descent*, widMax*, leading*: INTEGER
  80.         END;
  81.         Globals* = RECORD
  82.             (TY.Data)                                                                    (* QD offsets *)        (* Oberon offsets *)
  83.             randSeed*: LONGINT;                                                    (* -126 *)                    (* 0 *)
  84.             screenBits*: BitMap;                                                      (* -122 *)                    (* 4 *)
  85.             arrow*: Cursor;                                                              (* -108 *)                    (* 18 *)
  86.             dkGray*, ltGray*, gray*, black*, white*: Pattern;         (* -40, ... -8 *)            (* 86, 94, 102, 110, 118 *)
  87.             thePort*: GrafPtr                                                            (* 0 *)                          (* 126 *)
  88.         END;
  89.         GlobalsPtr* = POINTER- TO Globals;    (* Initialized to 0(A5) - 126 *)
  90.         globals*: GlobalsPtr;
  91.     PROCEDURE - SetPort*(port: GrafPtr) 0A8H, 073H;
  92.     PROCEDURE - GetPort*(VAR port: GrafPtr) 0A8H, 074H;
  93.     PROCEDURE - OpenPort*(port: GrafPtr) 0A8H, 06FH;
  94.     PROCEDURE - ClosePort*(port: GrafPtr) 0A8H, 07DH;
  95.     PROCEDURE - PenSize*(width, height: INTEGER) 0A8H, 09BH;
  96.     PROCEDURE - PenPat*(pat: Pattern) 0A8H, 09DH;
  97.     PROCEDURE - SetOrigin*(h, v: INTEGER) 0A8H, 078H;
  98.     PROCEDURE - SetClip*(rgn: RgnHandle) 0A8H, 079H;
  99.     PROCEDURE - GetClip*(rgn: RgnHandle) 0A8H, 07AH;
  100.     PROCEDURE - ClipRect*(r: TY.Rect) 0A8H, 07BH;
  101.     PROCEDURE - BackPat*(pat: Pattern) 0A8H, 07CH;
  102.     PROCEDURE - SetCursor*(crsr: Cursor) 0A8H, 051H;
  103.     PROCEDURE - HideCursor*() 0A8H, 052H;
  104.     PROCEDURE - ShowCursor*() 0A8H, 053H;
  105.     PROCEDURE - ObscureCursor* 0A8H, 056H;
  106.     PROCEDURE - MoveTo*(h, v: INTEGER) 0A8H, 093H;
  107.     PROCEDURE - LineTo*(h, v: INTEGER) 0A8H, 091H;
  108.     PROCEDURE - SetRect*(VAR r: TY.Rect; left, top, right,bottom: INTEGER) 0A8H, 0A7H;
  109.     PROCEDURE - OffsetRect*(VAR r: TY.Rect; dh, dv: INTEGER) 0A8H, 0A8H;
  110.     PROCEDURE - UnionRect*(src1, src2: TY.Rect; VAR dstRect: TY.Rect) 0A8H, 0ABH;
  111.     PROCEDURE - InsetRect*(r: TY.Rect; dh, dv: INTEGER) 0A8H, 0A9H;
  112.     PROCEDURE - EraseRect*(r: TY.Rect) 0A8H, 0A3H;
  113.     PROCEDURE - FrameRect*(r: TY.Rect) 0A8H, 0A1H;
  114.     PROCEDURE - InvertRect*(r: TY.Rect) 0A8H, 0A4H;
  115.     PROCEDURE - FillRect*(r: TY.Rect; pat: Pattern) 0A8H, 0A5H;
  116.     PROCEDURE - FrameRoundRect*(r: TY.Rect; ovalWidth, ovalHeight: INTEGER) 0A8H, 0B0H;
  117.     PROCEDURE - SectRect*(src1, src2: TY.Rect; VAR dstRect: TY.Rect): BOOLEAN 0A8H, 0AAH;
  118.     PROCEDURE - PtInRect*(pt: TY.Point; r: TY.Rect): BOOLEAN 0A8H, 0ADH;
  119.     PROCEDURE - NewRgn*(): RgnHandle 0A8H, 0D8H;
  120.     PROCEDURE - DisposeRgn*(rgn: RgnHandle) 0A8H, 0D9H;
  121.     PROCEDURE - CopyRgn*(srcRgn, dstRgn: RgnHandle) 0A8H, 0DCH;
  122.     PROCEDURE - SetRectRgn*(rgn: RgnHandle; left, top, right, bottom: INTEGER) 0A8H, 0DEH;
  123.     PROCEDURE - RectRgn*(rgn: RgnHandle;r: TY.Rect) 0A8H, 0DFH;
  124.     PROCEDURE - SectRgn*(srcRgnA, srcRgnB, dstRgn: RgnHandle) 0A8H, 0E4H;
  125.     PROCEDURE - DiffRgn*(srcRgnA, srcRgnB, dstRgn: RgnHandle) 0A8H, 0E6H;
  126.     PROCEDURE - EmptyRgn*(rgn: RgnHandle): BOOLEAN 0A8H, 0E2H;
  127.     PROCEDURE - PtInRgn*(pt: TY.Point; rgn: RgnHandle): BOOLEAN 0A8H, 0E8H;
  128.     PROCEDURE - CopyBits*(srcBits, dstBits: BitMap; srcRect, dstRect: TY.Rect; mode: INTEGER; maskRgn: RgnHandle) 0A8H, 0ECH;
  129.     PROCEDURE - LocalToGlobal*(VAR pt: TY.Point) 0A8H, 070H;
  130.     PROCEDURE - GlobalToLocal*(VAR pt: TY.Point) 0A8H, 071H;
  131.     PROCEDURE - StuffHex*(thingPtr: TY.Ptr; s: TY.Str255) 0A8H, 066H;
  132.     PROCEDURE - DrawPicture*(myPicture: PicHandle; dstRect: TY.Rect) 0A8H, 0F6H;
  133.     PROCEDURE - TextFont*(font: INTEGER) 0A8H, 087H;
  134.     PROCEDURE - TextSize*(size: INTEGER) 0A8H, 08AH;
  135.     PROCEDURE - CharWidth*(ch: INTEGER): INTEGER 0A8H, 08DH;
  136.     PROCEDURE - StringWidth*(s: TY.Str255): INTEGER 0A8H, 08CH;
  137.     PROCEDURE - GetPenState*(VAR pnState: PenState) 0A8H, 098H;
  138.     PROCEDURE - SetPenState*(VAR pnState: PenState) 0A8H, 099H;
  139.     PROCEDURE - PenNormal* 0A8H, 09EH;
  140.     PROCEDURE - DrawChar*(ch: INTEGER) 0A8H, 083H;
  141.     PROCEDURE - DrawString*(s: TY.Str255) 0A8H, 084H;
  142.     PROCEDURE - GetFontInfo*(VAR info: FontInfo) 0A8H, 08BH;
  143. BEGIN
  144.     SYSTEM.GETREG(13, globals);
  145.     SYSTEM.GET(SYSTEM.VAL(LONGINT, globals), globals);    (* Mem[A5] *)
  146.     DEC(SYSTEM.VAL(LONGINT, globals), 126)
  147. END MacQuickDraw.
  148.